using Google.ProtocolBuffers;
using micromsg.Proto;
using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using System.IO;
using System.Runtime.CompilerServices;
namespace micromsg
{
	[GeneratedCode("ProtoGen", "2.3.0.277"), DebuggerNonUserCode, CompilerGenerated]
	public sealed class AuthRequest : GeneratedMessageLite<AuthRequest, AuthRequest.Builder>
	{
		[GeneratedCode("ProtoGen", "2.3.0.277"), DebuggerNonUserCode, CompilerGenerated]
		public sealed class Builder : GeneratedBuilderLite<AuthRequest, AuthRequest.Builder>
		{
			private bool resultIsReadOnly;
			private AuthRequest result;
			protected override AuthRequest.Builder ThisBuilder
			{
				get
				{
					return this;
				}
			}
			public override bool IsInitialized
			{
				get
				{
					return this.result.IsInitialized;
				}
			}
			protected override AuthRequest MessageBeingBuilt
			{
				get
				{
					return this.PrepareBuilder();
				}
			}
			public override AuthRequest DefaultInstanceForType
			{
				get
				{
					return AuthRequest.DefaultInstance;
				}
			}
			public BaseRequest BaseRequest
			{
				get
				{
					return this.result.BaseRequest;
				}
				set
				{
					this.SetBaseRequest(value);
				}
			}
			public SKBuiltinString_t UserName
			{
				get
				{
					return this.result.UserName;
				}
				set
				{
					this.SetUserName(value);
				}
			}
			public SKBuiltinString_t Pwd
			{
				get
				{
					return this.result.Pwd;
				}
				set
				{
					this.SetPwd(value);
				}
			}
			public SKBuiltinString_t ImgSid
			{
				get
				{
					return this.result.ImgSid;
				}
				set
				{
					this.SetImgSid(value);
				}
			}
			public SKBuiltinString_t ImgCode
			{
				get
				{
					return this.result.ImgCode;
				}
				set
				{
					this.SetImgCode(value);
				}
			}
			public string Pwd2
			{
				get
				{
					return this.result.Pwd2;
				}
				set
				{
					this.SetPwd2(value);
				}
			}
			public uint BuiltinIPSeq
			{
				get
				{
					return this.result.BuiltinIPSeq;
				}
				set
				{
					this.SetBuiltinIPSeq(value);
				}
			}
			public string ExtPwd
			{
				get
				{
					return this.result.ExtPwd;
				}
				set
				{
					this.SetExtPwd(value);
				}
			}
			public string ExtPwd2
			{
				get
				{
					return this.result.ExtPwd2;
				}
				set
				{
					this.SetExtPwd2(value);
				}
			}
			public string TimeZone
			{
				get
				{
					return this.result.TimeZone;
				}
				set
				{
					this.SetTimeZone(value);
				}
			}
			public string Language
			{
				get
				{
					return this.result.Language;
				}
				set
				{
					this.SetLanguage(value);
				}
			}
			public string IMEI
			{
				get
				{
					return this.result.IMEI;
				}
				set
				{
					this.SetIMEI(value);
				}
			}
			public int Channel
			{
				get
				{
					return this.result.Channel;
				}
				set
				{
					this.SetChannel(value);
				}
			}
			public string IPhoneVer
			{
				get
				{
					return this.result.IPhoneVer;
				}
				set
				{
					this.SetIPhoneVer(value);
				}
			}
			public SKBuiltinString_t ImgEncryptKey
			{
				get
				{
					return this.result.ImgEncryptKey;
				}
				set
				{
					this.SetImgEncryptKey(value);
				}
			}
			public SKBuiltinBuffer_t KSid
			{
				get
				{
					return this.result.KSid;
				}
				set
				{
					this.SetKSid(value);
				}
			}
			public uint TimeStamp
			{
				get
				{
					return this.result.TimeStamp;
				}
				set
				{
					this.SetTimeStamp(value);
				}
			}
			public string DeviceBrand
			{
				get
				{
					return this.result.DeviceBrand;
				}
				set
				{
					this.SetDeviceBrand(value);
				}
			}
			public string DeviceModel
			{
				get
				{
					return this.result.DeviceModel;
				}
				set
				{
					this.SetDeviceModel(value);
				}
			}
			public string OSType
			{
				get
				{
					return this.result.OSType;
				}
				set
				{
					this.SetOSType(value);
				}
			}
			public Builder()
			{
				this.result = AuthRequest.DefaultInstance;
				this.resultIsReadOnly = true;
			}
			internal Builder(AuthRequest cloneFrom)
			{
				this.result = cloneFrom;
				this.resultIsReadOnly = true;
			}
			private AuthRequest PrepareBuilder()
			{
				if (this.resultIsReadOnly)
				{
					AuthRequest other = this.result;
					this.result = new AuthRequest();
					this.resultIsReadOnly = false;
					this.MergeFrom(other);
				}
				return this.result;
			}
			public override AuthRequest.Builder Clear()
			{
				this.result = AuthRequest.DefaultInstance;
				this.resultIsReadOnly = true;
				return this;
			}
			public override AuthRequest.Builder Clone()
			{
				if (this.resultIsReadOnly)
				{
					return new AuthRequest.Builder(this.result);
				}
				return new AuthRequest.Builder().MergeFrom(this.result);
			}
			public override AuthRequest BuildPartial()
			{
				if (this.resultIsReadOnly)
				{
					return this.result;
				}
				this.resultIsReadOnly = true;
				return this.result.MakeReadOnly();
			}
			public override AuthRequest.Builder MergeFrom(IMessageLite other)
			{
				if (other is AuthRequest)
				{
					return this.MergeFrom((AuthRequest)other);
				}
				base.MergeFrom(other);
				return this;
			}
			public override AuthRequest.Builder MergeFrom(AuthRequest other)
			{
				return this;
			}
			public override AuthRequest.Builder MergeFrom(ICodedInputStream input)
			{
				return this.MergeFrom(input, ExtensionRegistry.Empty);
			}
			public override AuthRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
			{
				this.PrepareBuilder();
				uint num;
				string text;
				while (input.ReadTag(out num, out text))
				{
					if (num == 0u && text != null)
					{
						int num2 = Array.BinarySearch<string>(AuthRequest._authRequestFieldNames, text, StringComparer.get_Ordinal());
						if (num2 < 0)
						{
							this.ParseUnknownField(input, extensionRegistry, num, text);
							continue;
						}
						num = AuthRequest._authRequestFieldTags[num2];
					}
					uint num3 = num;
					if (num3 <= 74u)
					{
						if (num3 <= 34u)
						{
							if (num3 <= 10u)
							{
								if (num3 == 0u)
								{
									throw InvalidProtocolBufferException.InvalidTag();
								}
								if (num3 == 10u)
								{
									BaseRequest.Builder builder = BaseRequest.CreateBuilder();
									if (this.result.hasBaseRequest)
									{
										builder.MergeFrom(this.BaseRequest);
									}
									input.ReadMessage(builder, extensionRegistry);
									this.BaseRequest = builder.BuildPartial();
									continue;
								}
							}
							else
							{
								if (num3 == 18u)
								{
									SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasUserName)
									{
										builder2.MergeFrom(this.UserName);
									}
									input.ReadMessage(builder2, extensionRegistry);
									this.UserName = builder2.BuildPartial();
									continue;
								}
								if (num3 == 26u)
								{
									SKBuiltinString_t.Builder builder3 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasPwd)
									{
										builder3.MergeFrom(this.Pwd);
									}
									input.ReadMessage(builder3, extensionRegistry);
									this.Pwd = builder3.BuildPartial();
									continue;
								}
								if (num3 == 34u)
								{
									SKBuiltinString_t.Builder builder4 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasImgSid)
									{
										builder4.MergeFrom(this.ImgSid);
									}
									input.ReadMessage(builder4, extensionRegistry);
									this.ImgSid = builder4.BuildPartial();
									continue;
								}
							}
						}
						else
						{
							if (num3 <= 50u)
							{
								if (num3 == 42u)
								{
									SKBuiltinString_t.Builder builder5 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasImgCode)
									{
										builder5.MergeFrom(this.ImgCode);
									}
									input.ReadMessage(builder5, extensionRegistry);
									this.ImgCode = builder5.BuildPartial();
									continue;
								}
								if (num3 == 50u)
								{
									this.result.hasPwd2 = input.ReadString(ref this.result.pwd2_);
									continue;
								}
							}
							else
							{
								if (num3 == 56u)
								{
									this.result.hasBuiltinIPSeq = input.ReadUInt32(ref this.result.builtinIPSeq_);
									continue;
								}
								if (num3 == 66u)
								{
									this.result.hasExtPwd = input.ReadString(ref this.result.extPwd_);
									continue;
								}
								if (num3 == 74u)
								{
									this.result.hasExtPwd2 = input.ReadString(ref this.result.extPwd2_);
									continue;
								}
							}
						}
					}
					else
					{
						if (num3 <= 114u)
						{
							if (num3 <= 90u)
							{
								if (num3 == 82u)
								{
									this.result.hasTimeZone = input.ReadString(ref this.result.timeZone_);
									continue;
								}
								if (num3 == 90u)
								{
									this.result.hasLanguage = input.ReadString(ref this.result.language_);
									continue;
								}
							}
							else
							{
								if (num3 == 98u)
								{
									this.result.hasIMEI = input.ReadString(ref this.result.iMEI_);
									continue;
								}
								if (num3 == 104u)
								{
									this.result.hasChannel = input.ReadInt32(ref this.result.channel_);
									continue;
								}
								if (num3 == 114u)
								{
									this.result.hasIPhoneVer = input.ReadString(ref this.result.iPhoneVer_);
									continue;
								}
							}
						}
						else
						{
							if (num3 <= 136u)
							{
								if (num3 == 122u)
								{
									SKBuiltinString_t.Builder builder6 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasImgEncryptKey)
									{
										builder6.MergeFrom(this.ImgEncryptKey);
									}
									input.ReadMessage(builder6, extensionRegistry);
									this.ImgEncryptKey = builder6.BuildPartial();
									continue;
								}
								if (num3 == 130u)
								{
									SKBuiltinBuffer_t.Builder builder7 = SKBuiltinBuffer_t.CreateBuilder();
									if (this.result.hasKSid)
									{
										builder7.MergeFrom(this.KSid);
									}
									input.ReadMessage(builder7, extensionRegistry);
									this.KSid = builder7.BuildPartial();
									continue;
								}
								if (num3 == 136u)
								{
									this.result.hasTimeStamp = input.ReadUInt32(ref this.result.timeStamp_);
									continue;
								}
							}
							else
							{
								if (num3 == 146u)
								{
									this.result.hasDeviceBrand = input.ReadString(ref this.result.deviceBrand_);
									continue;
								}
								if (num3 == 154u)
								{
									this.result.hasDeviceModel = input.ReadString(ref this.result.deviceModel_);
									continue;
								}
								if (num3 == 162u)
								{
									this.result.hasOSType = input.ReadString(ref this.result.oSType_);
									continue;
								}
							}
						}
					}
					if (WireFormat.IsEndGroupTag(num))
					{
						return this;
					}
					this.ParseUnknownField(input, extensionRegistry, num, text);
				}
				return this;
			}
			public AuthRequest.Builder SetBaseRequest(BaseRequest value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasBaseRequest = true;
				this.result.baseRequest_ = value;
				return this;
			}
			public AuthRequest.Builder SetBaseRequest(BaseRequest.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasBaseRequest = true;
				this.result.baseRequest_ = builderForValue.Build();
				return this;
			}
			public AuthRequest.Builder MergeBaseRequest(BaseRequest value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasBaseRequest && this.result.baseRequest_ != BaseRequest.DefaultInstance)
				{
					this.result.baseRequest_ = BaseRequest.CreateBuilder(this.result.baseRequest_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.baseRequest_ = value;
				}
				this.result.hasBaseRequest = true;
				return this;
			}
			public AuthRequest.Builder ClearBaseRequest()
			{
				this.PrepareBuilder();
				this.result.hasBaseRequest = false;
				this.result.baseRequest_ = null;
				return this;
			}
			public AuthRequest.Builder SetUserName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasUserName = true;
				this.result.userName_ = value;
				return this;
			}
			public AuthRequest.Builder SetUserName(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasUserName = true;
				this.result.userName_ = builderForValue.Build();
				return this;
			}
			public AuthRequest.Builder MergeUserName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasUserName && this.result.userName_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.userName_ = SKBuiltinString_t.CreateBuilder(this.result.userName_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.userName_ = value;
				}
				this.result.hasUserName = true;
				return this;
			}
			public AuthRequest.Builder ClearUserName()
			{
				this.PrepareBuilder();
				this.result.hasUserName = false;
				this.result.userName_ = null;
				return this;
			}
			public AuthRequest.Builder SetPwd(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasPwd = true;
				this.result.pwd_ = value;
				return this;
			}
			public AuthRequest.Builder SetPwd(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasPwd = true;
				this.result.pwd_ = builderForValue.Build();
				return this;
			}
			public AuthRequest.Builder MergePwd(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasPwd && this.result.pwd_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.pwd_ = SKBuiltinString_t.CreateBuilder(this.result.pwd_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.pwd_ = value;
				}
				this.result.hasPwd = true;
				return this;
			}
			public AuthRequest.Builder ClearPwd()
			{
				this.PrepareBuilder();
				this.result.hasPwd = false;
				this.result.pwd_ = null;
				return this;
			}
			public AuthRequest.Builder SetImgSid(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasImgSid = true;
				this.result.imgSid_ = value;
				return this;
			}
			public AuthRequest.Builder SetImgSid(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasImgSid = true;
				this.result.imgSid_ = builderForValue.Build();
				return this;
			}
			public AuthRequest.Builder MergeImgSid(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasImgSid && this.result.imgSid_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.imgSid_ = SKBuiltinString_t.CreateBuilder(this.result.imgSid_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.imgSid_ = value;
				}
				this.result.hasImgSid = true;
				return this;
			}
			public AuthRequest.Builder ClearImgSid()
			{
				this.PrepareBuilder();
				this.result.hasImgSid = false;
				this.result.imgSid_ = null;
				return this;
			}
			public AuthRequest.Builder SetImgCode(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasImgCode = true;
				this.result.imgCode_ = value;
				return this;
			}
			public AuthRequest.Builder SetImgCode(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasImgCode = true;
				this.result.imgCode_ = builderForValue.Build();
				return this;
			}
			public AuthRequest.Builder MergeImgCode(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasImgCode && this.result.imgCode_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.imgCode_ = SKBuiltinString_t.CreateBuilder(this.result.imgCode_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.imgCode_ = value;
				}
				this.result.hasImgCode = true;
				return this;
			}
			public AuthRequest.Builder ClearImgCode()
			{
				this.PrepareBuilder();
				this.result.hasImgCode = false;
				this.result.imgCode_ = null;
				return this;
			}
			public AuthRequest.Builder SetPwd2(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasPwd2 = true;
				this.result.pwd2_ = value;
				return this;
			}
			public AuthRequest.Builder ClearPwd2()
			{
				this.PrepareBuilder();
				this.result.hasPwd2 = false;
				this.result.pwd2_ = "";
				return this;
			}
			public AuthRequest.Builder SetBuiltinIPSeq(uint value)
			{
				this.PrepareBuilder();
				this.result.hasBuiltinIPSeq = true;
				this.result.builtinIPSeq_ = value;
				return this;
			}
			public AuthRequest.Builder ClearBuiltinIPSeq()
			{
				this.PrepareBuilder();
				this.result.hasBuiltinIPSeq = false;
				this.result.builtinIPSeq_ = 0u;
				return this;
			}
			public AuthRequest.Builder SetExtPwd(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasExtPwd = true;
				this.result.extPwd_ = value;
				return this;
			}
			public AuthRequest.Builder ClearExtPwd()
			{
				this.PrepareBuilder();
				this.result.hasExtPwd = false;
				this.result.extPwd_ = "";
				return this;
			}
			public AuthRequest.Builder SetExtPwd2(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasExtPwd2 = true;
				this.result.extPwd2_ = value;
				return this;
			}
			public AuthRequest.Builder ClearExtPwd2()
			{
				this.PrepareBuilder();
				this.result.hasExtPwd2 = false;
				this.result.extPwd2_ = "";
				return this;
			}
			public AuthRequest.Builder SetTimeZone(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasTimeZone = true;
				this.result.timeZone_ = value;
				return this;
			}
			public AuthRequest.Builder ClearTimeZone()
			{
				this.PrepareBuilder();
				this.result.hasTimeZone = false;
				this.result.timeZone_ = "";
				return this;
			}
			public AuthRequest.Builder SetLanguage(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasLanguage = true;
				this.result.language_ = value;
				return this;
			}
			public AuthRequest.Builder ClearLanguage()
			{
				this.PrepareBuilder();
				this.result.hasLanguage = false;
				this.result.language_ = "";
				return this;
			}
			public AuthRequest.Builder SetIMEI(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasIMEI = true;
				this.result.iMEI_ = value;
				return this;
			}
			public AuthRequest.Builder ClearIMEI()
			{
				this.PrepareBuilder();
				this.result.hasIMEI = false;
				this.result.iMEI_ = "";
				return this;
			}
			public AuthRequest.Builder SetChannel(int value)
			{
				this.PrepareBuilder();
				this.result.hasChannel = true;
				this.result.channel_ = value;
				return this;
			}
			public AuthRequest.Builder ClearChannel()
			{
				this.PrepareBuilder();
				this.result.hasChannel = false;
				this.result.channel_ = 0;
				return this;
			}
			public AuthRequest.Builder SetIPhoneVer(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasIPhoneVer = true;
				this.result.iPhoneVer_ = value;
				return this;
			}
			public AuthRequest.Builder ClearIPhoneVer()
			{
				this.PrepareBuilder();
				this.result.hasIPhoneVer = false;
				this.result.iPhoneVer_ = "";
				return this;
			}
			public AuthRequest.Builder SetImgEncryptKey(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasImgEncryptKey = true;
				this.result.imgEncryptKey_ = value;
				return this;
			}
			public AuthRequest.Builder SetImgEncryptKey(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasImgEncryptKey = true;
				this.result.imgEncryptKey_ = builderForValue.Build();
				return this;
			}
			public AuthRequest.Builder MergeImgEncryptKey(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasImgEncryptKey && this.result.imgEncryptKey_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.imgEncryptKey_ = SKBuiltinString_t.CreateBuilder(this.result.imgEncryptKey_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.imgEncryptKey_ = value;
				}
				this.result.hasImgEncryptKey = true;
				return this;
			}
			public AuthRequest.Builder ClearImgEncryptKey()
			{
				this.PrepareBuilder();
				this.result.hasImgEncryptKey = false;
				this.result.imgEncryptKey_ = null;
				return this;
			}
			public AuthRequest.Builder SetKSid(SKBuiltinBuffer_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasKSid = true;
				this.result.kSid_ = value;
				return this;
			}
			public AuthRequest.Builder SetKSid(SKBuiltinBuffer_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasKSid = true;
				this.result.kSid_ = builderForValue.Build();
				return this;
			}
			public AuthRequest.Builder MergeKSid(SKBuiltinBuffer_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasKSid && this.result.kSid_ != SKBuiltinBuffer_t.DefaultInstance)
				{
					this.result.kSid_ = SKBuiltinBuffer_t.CreateBuilder(this.result.kSid_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.kSid_ = value;
				}
				this.result.hasKSid = true;
				return this;
			}
			public AuthRequest.Builder ClearKSid()
			{
				this.PrepareBuilder();
				this.result.hasKSid = false;
				this.result.kSid_ = null;
				return this;
			}
			public AuthRequest.Builder SetTimeStamp(uint value)
			{
				this.PrepareBuilder();
				this.result.hasTimeStamp = true;
				this.result.timeStamp_ = value;
				return this;
			}
			public AuthRequest.Builder ClearTimeStamp()
			{
				this.PrepareBuilder();
				this.result.hasTimeStamp = false;
				this.result.timeStamp_ = 0u;
				return this;
			}
			public AuthRequest.Builder SetDeviceBrand(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasDeviceBrand = true;
				this.result.deviceBrand_ = value;
				return this;
			}
			public AuthRequest.Builder ClearDeviceBrand()
			{
				this.PrepareBuilder();
				this.result.hasDeviceBrand = false;
				this.result.deviceBrand_ = "";
				return this;
			}
			public AuthRequest.Builder SetDeviceModel(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasDeviceModel = true;
				this.result.deviceModel_ = value;
				return this;
			}
			public AuthRequest.Builder ClearDeviceModel()
			{
				this.PrepareBuilder();
				this.result.hasDeviceModel = false;
				this.result.deviceModel_ = "";
				return this;
			}
			public AuthRequest.Builder SetOSType(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasOSType = true;
				this.result.oSType_ = value;
				return this;
			}
			public AuthRequest.Builder ClearOSType()
			{
				this.PrepareBuilder();
				this.result.hasOSType = false;
				this.result.oSType_ = "";
				return this;
			}
		}
		public const int BaseRequestFieldNumber = 1;
		public const int UserNameFieldNumber = 2;
		public const int PwdFieldNumber = 3;
		public const int ImgSidFieldNumber = 4;
		public const int ImgCodeFieldNumber = 5;
		public const int Pwd2FieldNumber = 6;
		public const int BuiltinIPSeqFieldNumber = 7;
		public const int ExtPwdFieldNumber = 8;
		public const int ExtPwd2FieldNumber = 9;
		public const int TimeZoneFieldNumber = 10;
		public const int LanguageFieldNumber = 11;
		public const int IMEIFieldNumber = 12;
		public const int ChannelFieldNumber = 13;
		public const int IPhoneVerFieldNumber = 14;
		public const int ImgEncryptKeyFieldNumber = 15;
		public const int KSidFieldNumber = 16;
		public const int TimeStampFieldNumber = 17;
		public const int DeviceBrandFieldNumber = 18;
		public const int DeviceModelFieldNumber = 19;
		public const int OSTypeFieldNumber = 20;
		private static readonly AuthRequest defaultInstance;
		private static readonly string[] _authRequestFieldNames;
		private static readonly uint[] _authRequestFieldTags;
		private bool hasBaseRequest;
		private BaseRequest baseRequest_;
		private bool hasUserName;
		private SKBuiltinString_t userName_;
		private bool hasPwd;
		private SKBuiltinString_t pwd_;
		private bool hasImgSid;
		private SKBuiltinString_t imgSid_;
		private bool hasImgCode;
		private SKBuiltinString_t imgCode_;
		private bool hasPwd2;
		private string pwd2_ = "";
		private bool hasBuiltinIPSeq;
		private uint builtinIPSeq_;
		private bool hasExtPwd;
		private string extPwd_ = "";
		private bool hasExtPwd2;
		private string extPwd2_ = "";
		private bool hasTimeZone;
		private string timeZone_ = "";
		private bool hasLanguage;
		private string language_ = "";
		private bool hasIMEI;
		private string iMEI_ = "";
		private bool hasChannel;
		private int channel_;
		private bool hasIPhoneVer;
		private string iPhoneVer_ = "";
		private bool hasImgEncryptKey;
		private SKBuiltinString_t imgEncryptKey_;
		private bool hasKSid;
		private SKBuiltinBuffer_t kSid_;
		private bool hasTimeStamp;
		private uint timeStamp_;
		private bool hasDeviceBrand;
		private string deviceBrand_ = "";
		private bool hasDeviceModel;
		private string deviceModel_ = "";
		private bool hasOSType;
		private string oSType_ = "";
		private int memoizedSerializedSize = -1;
		public static AuthRequest DefaultInstance
		{
			get
			{
				return AuthRequest.defaultInstance;
			}
		}
		public override AuthRequest DefaultInstanceForType
		{
			get
			{
				return AuthRequest.DefaultInstance;
			}
		}
		protected override AuthRequest ThisMessage
		{
			get
			{
				return this;
			}
		}
		public BaseRequest BaseRequest
		{
			get
			{
				return this.baseRequest_ ?? BaseRequest.DefaultInstance;
			}
		}
		public SKBuiltinString_t UserName
		{
			get
			{
				return this.userName_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t Pwd
		{
			get
			{
				return this.pwd_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t ImgSid
		{
			get
			{
				return this.imgSid_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t ImgCode
		{
			get
			{
				return this.imgCode_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public string Pwd2
		{
			get
			{
				return this.pwd2_;
			}
		}
		public uint BuiltinIPSeq
		{
			get
			{
				return this.builtinIPSeq_;
			}
		}
		public string ExtPwd
		{
			get
			{
				return this.extPwd_;
			}
		}
		public string ExtPwd2
		{
			get
			{
				return this.extPwd2_;
			}
		}
		public string TimeZone
		{
			get
			{
				return this.timeZone_;
			}
		}
		public string Language
		{
			get
			{
				return this.language_;
			}
		}
		public string IMEI
		{
			get
			{
				return this.iMEI_;
			}
		}
		public int Channel
		{
			get
			{
				return this.channel_;
			}
		}
		public string IPhoneVer
		{
			get
			{
				return this.iPhoneVer_;
			}
		}
		public SKBuiltinString_t ImgEncryptKey
		{
			get
			{
				return this.imgEncryptKey_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinBuffer_t KSid
		{
			get
			{
				return this.kSid_ ?? SKBuiltinBuffer_t.DefaultInstance;
			}
		}
		public uint TimeStamp
		{
			get
			{
				return this.timeStamp_;
			}
		}
		public string DeviceBrand
		{
			get
			{
				return this.deviceBrand_;
			}
		}
		public string DeviceModel
		{
			get
			{
				return this.deviceModel_;
			}
		}
		public string OSType
		{
			get
			{
				return this.oSType_;
			}
		}
		public override bool IsInitialized
		{
			get
			{
				return this.hasBaseRequest && this.hasUserName && this.hasPwd && this.hasImgSid && this.hasImgCode && this.BaseRequest.IsInitialized;
			}
		}
		public override int SerializedSize
		{
			get
			{
				int num = this.memoizedSerializedSize;
				if (num != -1)
				{
					return num;
				}
				num = 0;
				if (this.hasBaseRequest)
				{
					num += CodedOutputStream.ComputeMessageSize(1, this.BaseRequest);
				}
				if (this.hasUserName)
				{
					num += CodedOutputStream.ComputeMessageSize(2, this.UserName);
				}
				if (this.hasPwd)
				{
					num += CodedOutputStream.ComputeMessageSize(3, this.Pwd);
				}
				if (this.hasImgSid)
				{
					num += CodedOutputStream.ComputeMessageSize(4, this.ImgSid);
				}
				if (this.hasImgCode)
				{
					num += CodedOutputStream.ComputeMessageSize(5, this.ImgCode);
				}
				if (this.hasPwd2)
				{
					num += CodedOutputStream.ComputeStringSize(6, this.Pwd2);
				}
				if (this.hasBuiltinIPSeq)
				{
					num += CodedOutputStream.ComputeUInt32Size(7, this.BuiltinIPSeq);
				}
				if (this.hasExtPwd)
				{
					num += CodedOutputStream.ComputeStringSize(8, this.ExtPwd);
				}
				if (this.hasExtPwd2)
				{
					num += CodedOutputStream.ComputeStringSize(9, this.ExtPwd2);
				}
				if (this.hasTimeZone)
				{
					num += CodedOutputStream.ComputeStringSize(10, this.TimeZone);
				}
				if (this.hasLanguage)
				{
					num += CodedOutputStream.ComputeStringSize(11, this.Language);
				}
				if (this.hasIMEI)
				{
					num += CodedOutputStream.ComputeStringSize(12, this.IMEI);
				}
				if (this.hasChannel)
				{
					num += CodedOutputStream.ComputeInt32Size(13, this.Channel);
				}
				if (this.hasIPhoneVer)
				{
					num += CodedOutputStream.ComputeStringSize(14, this.IPhoneVer);
				}
				if (this.hasImgEncryptKey)
				{
					num += CodedOutputStream.ComputeMessageSize(15, this.ImgEncryptKey);
				}
				if (this.hasKSid)
				{
					num += CodedOutputStream.ComputeMessageSize(16, this.KSid);
				}
				if (this.hasTimeStamp)
				{
					num += CodedOutputStream.ComputeUInt32Size(17, this.TimeStamp);
				}
				if (this.hasDeviceBrand)
				{
					num += CodedOutputStream.ComputeStringSize(18, this.DeviceBrand);
				}
				if (this.hasDeviceModel)
				{
					num += CodedOutputStream.ComputeStringSize(19, this.DeviceModel);
				}
				if (this.hasOSType)
				{
					num += CodedOutputStream.ComputeStringSize(20, this.OSType);
				}
				this.memoizedSerializedSize = num;
				return num;
			}
		}
		private AuthRequest()
		{
		}
		public override void WriteTo(ICodedOutputStream output)
		{
			int arg_06_0 = this.SerializedSize;
			string[] authRequestFieldNames = AuthRequest._authRequestFieldNames;
			if (this.hasBaseRequest)
			{
				output.WriteMessage(1, authRequestFieldNames[0], this.BaseRequest);
			}
			if (this.hasUserName)
			{
				output.WriteMessage(2, authRequestFieldNames[17], this.UserName);
			}
			if (this.hasPwd)
			{
				output.WriteMessage(3, authRequestFieldNames[13], this.Pwd);
			}
			if (this.hasImgSid)
			{
				output.WriteMessage(4, authRequestFieldNames[9], this.ImgSid);
			}
			if (this.hasImgCode)
			{
				output.WriteMessage(5, authRequestFieldNames[7], this.ImgCode);
			}
			if (this.hasPwd2)
			{
				output.WriteString(6, authRequestFieldNames[14], this.Pwd2);
			}
			if (this.hasBuiltinIPSeq)
			{
				output.WriteUInt32(7, authRequestFieldNames[1], this.BuiltinIPSeq);
			}
			if (this.hasExtPwd)
			{
				output.WriteString(8, authRequestFieldNames[18], this.ExtPwd);
			}
			if (this.hasExtPwd2)
			{
				output.WriteString(9, authRequestFieldNames[19], this.ExtPwd2);
			}
			if (this.hasTimeZone)
			{
				output.WriteString(10, authRequestFieldNames[16], this.TimeZone);
			}
			if (this.hasLanguage)
			{
				output.WriteString(11, authRequestFieldNames[11], this.Language);
			}
			if (this.hasIMEI)
			{
				output.WriteString(12, authRequestFieldNames[5], this.IMEI);
			}
			if (this.hasChannel)
			{
				output.WriteInt32(13, authRequestFieldNames[2], this.Channel);
			}
			if (this.hasIPhoneVer)
			{
				output.WriteString(14, authRequestFieldNames[6], this.IPhoneVer);
			}
			if (this.hasImgEncryptKey)
			{
				output.WriteMessage(15, authRequestFieldNames[8], this.ImgEncryptKey);
			}
			if (this.hasKSid)
			{
				output.WriteMessage(16, authRequestFieldNames[10], this.KSid);
			}
			if (this.hasTimeStamp)
			{
				output.WriteUInt32(17, authRequestFieldNames[15], this.TimeStamp);
			}
			if (this.hasDeviceBrand)
			{
				output.WriteString(18, authRequestFieldNames[3], this.DeviceBrand);
			}
			if (this.hasDeviceModel)
			{
				output.WriteString(19, authRequestFieldNames[4], this.DeviceModel);
			}
			if (this.hasOSType)
			{
				output.WriteString(20, authRequestFieldNames[12], this.OSType);
			}
		}
		public override int GetHashCode()
		{
			int num = base.GetType().GetHashCode();
			if (this.hasBaseRequest)
			{
				num ^= this.baseRequest_.GetHashCode();
			}
			if (this.hasUserName)
			{
				num ^= this.userName_.GetHashCode();
			}
			if (this.hasPwd)
			{
				num ^= this.pwd_.GetHashCode();
			}
			if (this.hasImgSid)
			{
				num ^= this.imgSid_.GetHashCode();
			}
			if (this.hasImgCode)
			{
				num ^= this.imgCode_.GetHashCode();
			}
			if (this.hasPwd2)
			{
				num ^= this.pwd2_.GetHashCode();
			}
			if (this.hasBuiltinIPSeq)
			{
				num ^= this.builtinIPSeq_.GetHashCode();
			}
			if (this.hasExtPwd)
			{
				num ^= this.extPwd_.GetHashCode();
			}
			if (this.hasExtPwd2)
			{
				num ^= this.extPwd2_.GetHashCode();
			}
			if (this.hasTimeZone)
			{
				num ^= this.timeZone_.GetHashCode();
			}
			if (this.hasLanguage)
			{
				num ^= this.language_.GetHashCode();
			}
			if (this.hasIMEI)
			{
				num ^= this.iMEI_.GetHashCode();
			}
			if (this.hasChannel)
			{
				num ^= this.channel_.GetHashCode();
			}
			if (this.hasIPhoneVer)
			{
				num ^= this.iPhoneVer_.GetHashCode();
			}
			if (this.hasImgEncryptKey)
			{
				num ^= this.imgEncryptKey_.GetHashCode();
			}
			if (this.hasKSid)
			{
				num ^= this.kSid_.GetHashCode();
			}
			if (this.hasTimeStamp)
			{
				num ^= this.timeStamp_.GetHashCode();
			}
			if (this.hasDeviceBrand)
			{
				num ^= this.deviceBrand_.GetHashCode();
			}
			if (this.hasDeviceModel)
			{
				num ^= this.deviceModel_.GetHashCode();
			}
			if (this.hasOSType)
			{
				num ^= this.oSType_.GetHashCode();
			}
			return num;
		}
		public override bool Equals(object object_0)
		{
			AuthRequest authRequest = object_0 as AuthRequest;
			return authRequest != null && (this.hasBaseRequest == authRequest.hasBaseRequest && (!this.hasBaseRequest || this.baseRequest_.Equals(authRequest.baseRequest_))) && (this.hasUserName == authRequest.hasUserName && (!this.hasUserName || this.userName_.Equals(authRequest.userName_))) && (this.hasPwd == authRequest.hasPwd && (!this.hasPwd || this.pwd_.Equals(authRequest.pwd_))) && (this.hasImgSid == authRequest.hasImgSid && (!this.hasImgSid || this.imgSid_.Equals(authRequest.imgSid_))) && (this.hasImgCode == authRequest.hasImgCode && (!this.hasImgCode || this.imgCode_.Equals(authRequest.imgCode_))) && (this.hasPwd2 == authRequest.hasPwd2 && (!this.hasPwd2 || this.pwd2_.Equals(authRequest.pwd2_))) && (this.hasBuiltinIPSeq == authRequest.hasBuiltinIPSeq && (!this.hasBuiltinIPSeq || this.builtinIPSeq_.Equals(authRequest.builtinIPSeq_))) && (this.hasExtPwd == authRequest.hasExtPwd && (!this.hasExtPwd || this.extPwd_.Equals(authRequest.extPwd_))) && (this.hasExtPwd2 == authRequest.hasExtPwd2 && (!this.hasExtPwd2 || this.extPwd2_.Equals(authRequest.extPwd2_))) && (this.hasTimeZone == authRequest.hasTimeZone && (!this.hasTimeZone || this.timeZone_.Equals(authRequest.timeZone_))) && (this.hasLanguage == authRequest.hasLanguage && (!this.hasLanguage || this.language_.Equals(authRequest.language_))) && (this.hasIMEI == authRequest.hasIMEI && (!this.hasIMEI || this.iMEI_.Equals(authRequest.iMEI_))) && (this.hasChannel == authRequest.hasChannel && (!this.hasChannel || this.channel_.Equals(authRequest.channel_))) && (this.hasIPhoneVer == authRequest.hasIPhoneVer && (!this.hasIPhoneVer || this.iPhoneVer_.Equals(authRequest.iPhoneVer_))) && (this.hasImgEncryptKey == authRequest.hasImgEncryptKey && (!this.hasImgEncryptKey || this.imgEncryptKey_.Equals(authRequest.imgEncryptKey_))) && (this.hasKSid == authRequest.hasKSid && (!this.hasKSid || this.kSid_.Equals(authRequest.kSid_))) && (this.hasTimeStamp == authRequest.hasTimeStamp && (!this.hasTimeStamp || this.timeStamp_.Equals(authRequest.timeStamp_))) && (this.hasDeviceBrand == authRequest.hasDeviceBrand && (!this.hasDeviceBrand || this.deviceBrand_.Equals(authRequest.deviceBrand_))) && (this.hasDeviceModel == authRequest.hasDeviceModel && (!this.hasDeviceModel || this.deviceModel_.Equals(authRequest.deviceModel_))) && (this.hasOSType == authRequest.hasOSType && (!this.hasOSType || this.oSType_.Equals(authRequest.oSType_)));
		}
		public override void PrintTo(TextWriter writer)
		{
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("BaseRequest", this.hasBaseRequest, this.baseRequest_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("UserName", this.hasUserName, this.userName_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("Pwd", this.hasPwd, this.pwd_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("ImgSid", this.hasImgSid, this.imgSid_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("ImgCode", this.hasImgCode, this.imgCode_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("Pwd2", this.hasPwd2, this.pwd2_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("BuiltinIPSeq", this.hasBuiltinIPSeq, this.builtinIPSeq_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("extPwd", this.hasExtPwd, this.extPwd_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("extPwd2", this.hasExtPwd2, this.extPwd2_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("TimeZone", this.hasTimeZone, this.timeZone_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("Language", this.hasLanguage, this.language_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("IMEI", this.hasIMEI, this.iMEI_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("Channel", this.hasChannel, this.channel_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("IPhoneVer", this.hasIPhoneVer, this.iPhoneVer_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("ImgEncryptKey", this.hasImgEncryptKey, this.imgEncryptKey_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("KSid", this.hasKSid, this.kSid_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("TimeStamp", this.hasTimeStamp, this.timeStamp_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("DeviceBrand", this.hasDeviceBrand, this.deviceBrand_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("DeviceModel", this.hasDeviceModel, this.deviceModel_, writer);
			GeneratedMessageLite<AuthRequest, AuthRequest.Builder>.PrintField("OSType", this.hasOSType, this.oSType_, writer);
		}
		public static AuthRequest ParseFrom(byte[] data)
		{
			return AuthRequest.CreateBuilder().MergeFrom(data).BuildParsed();
		}
		private AuthRequest MakeReadOnly()
		{
			return this;
		}
		public static AuthRequest.Builder CreateBuilder()
		{
			return new AuthRequest.Builder();
		}
		public override AuthRequest.Builder ToBuilder()
		{
			return AuthRequest.CreateBuilder(this);
		}
		public override AuthRequest.Builder CreateBuilderForType()
		{
			return new AuthRequest.Builder();
		}
		public static AuthRequest.Builder CreateBuilder(AuthRequest prototype)
		{
			return new AuthRequest.Builder(prototype);
		}
		static AuthRequest()
		{
			AuthRequest.defaultInstance = new AuthRequest().MakeReadOnly();
			AuthRequest._authRequestFieldNames = new string[]
			{
				"BaseRequest",
				"BuiltinIPSeq",
				"Channel",
				"DeviceBrand",
				"DeviceModel",
				"IMEI",
				"IPhoneVer",
				"ImgCode",
				"ImgEncryptKey",
				"ImgSid",
				"KSid",
				"Language",
				"OSType",
				"Pwd",
				"Pwd2",
				"TimeStamp",
				"TimeZone",
				"UserName",
				"extPwd",
				"extPwd2"
			};
			AuthRequest._authRequestFieldTags = new uint[]
			{
				10u,
				56u,
				104u,
				146u,
				154u,
				98u,
				114u,
				42u,
				122u,
				34u,
				130u,
				90u,
				162u,
				26u,
				50u,
				136u,
				82u,
				18u,
				66u,
				74u
			};
			object.ReferenceEquals(micromsg.Proto.AuthRequest.Descriptor, null);
		}
	}
}
